#pragma once

#include <d3dx9math.h>

class Quaternion : public D3DXQUATERNION
{
public:
	Quaternion(void);
	Quaternion( const float x, const float y, const float z, const float w );
	~Quaternion(void);

public:
	void Normalize();

	void PreMultiply( const Quaternion & quat );
	void PostMultiply( const Quaternion & quat );

	float GetYaw();
	float GetPitch();
	float GetRoll();

public:
	static Quaternion Slerp( const Quaternion & start, const Quaternion & end, const float t );
};
